/**
 * 
 */
package org.rado.chessbastard.board.objects.pieces;

import java.io.Serializable;

import org.rado.chessbastard.board.objects.IBoardSquare;

/**
 * @author rado
 *
 */
public interface IChessPiece extends Serializable{
	/**
	 * 
	 * @returnPieceColor
	 */
	public PieceColor getPieceColor();
	
	/**
	 * Checks if the  piece can legally move from current location to target location
	 * 
	 * @param currentLocation
	 * @param targetLocation
	 * @return
	 */
	public boolean isMoveValid(IBoardSquare currentLocation, IBoardSquare targetLocation);
}
